# encoding: utf-8
# @Author: zsl
# @Desc : 完全平方数
# 一个整数，它加上100后是一个完全平方数，再加上168又是一个完全平方数，请问该数是多少？
# 程序分析：因为168对于指数爆炸来说实在太小了，所以可以直接省略数学分析，用最朴素的方法来获取上限:
# n = 0
# while (n + 1) ** 2 - n * n <= 168:
#     n += 1
# print(n + 1)
# ----------
# 85
# 思路是：最坏的结果是n的平方与(n+1)的平方刚好差168，由于是平方的关系，不可能存在比这更大的间隙。
# 至于判断是否是完全平方数，最简单的方法是：平方根的值小数为0即可。
# @Date  : 2025/07/04 14:10
n = 0
while (n + 1) ** 2 - n * n <= 168:
    n += 1

for i in range((n + 1) ** 2):
    if i ** 0.5 == int(i ** 0.5) and (i + 168) ** 0.5 == int((i + 168) ** 0.5):
        print(i - 100)